Skip to content

Tasks List: Persist filter settings and add Reset Filters button#45

Merged
JoeProgrammer88 merged 3 commits intomainfrom
copilot/save-filter-settings-tasks-list
Mar 21, 2026
Merged

Tasks List: Persist filter settings and add Reset Filters button#45
JoeProgrammer88 merged 3 commits intomainfrom
copilot/save-filter-settings-tasks-list

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 20, 2026

Users' Task page filter selections (Category, Status, Grouping, Hide Completed) were lost on every page reload. Filter state now persists via localStorage and a Reset Filters button allows clearing back to defaults.

Changes

src/app.ts

  • FILTER_SETTINGS_KEY — localStorage key ('taskManagerFilterSettings')
  • saveFilterSettings() — serializes Category, Status, Grouping, and hideCompleted to localStorage; called on every filter change and toggle
  • loadFilterSettings() — restores saved state during init(), before first render
  • resetFilters() — clears all filter DOM values, resets hideCompleted, removes the saved entry, re-renders
  • updateHideCompletedBtn() — extracted helper to sync button text/class from this.hideCompleted; used by toggleHideCompleted, loadFilterSettings, and resetFilters to eliminate duplicated button-update logic
  • overdueTasksItem click handler — now calls saveFilterSettings() after programmatically setting the status filter

index.html

  • Added ↺ Reset Filters button (id="resetFiltersBtn") in the .filters div

e2e/app.spec.ts

  • 6 new E2E tests covering persistence across reloads (status, groupBy, hideCompleted) and reset behavior
// Filter state saved on every user interaction
document.getElementById('statusFilter')!
  .addEventListener('change', () => { this.filterTasks(); this.saveFilterSettings(); });

// Restored transparently on init
init(): void {
    this.setupEventListeners();
    this.loadFilterSettings(); // ← restores before render
    this.render();
}
Original prompt

This section details on the original issue you should resolve

<issue_title>Tasks List - Save Filter Settings</issue_title>
<issue_description>A user would like the Task page filters for Category, Status, and Grouping to be saved. We also need a Reset button for the filters to be reset</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Add functionality to save task page filter settings Tasks List: Persist filter settings and add Reset Filters button Mar 20, 2026
Copilot AI requested a review from JoeProgrammer88 March 20, 2026 23:42
…ettings-tasks-list

# Conflicts:
#	js/app.d.ts.map
#	js/app.js
@JoeProgrammer88 JoeProgrammer88 marked this pull request as ready for review March 21, 2026 01:21
@JoeProgrammer88 JoeProgrammer88 merged commit 3347c71 into main Mar 21, 2026
1 check passed
@JoeProgrammer88 JoeProgrammer88 deleted the copilot/save-filter-settings-tasks-list branch March 21, 2026 01:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tasks List - Save Filter Settings

2 participants